package lib.bone.system.domain.vo;

import com.fasterxml.jackson.annotation.JsonIgnoreProperties;
import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lib.bone.system.domain.entity.SysRole;
import lombok.Data;

import java.util.Set;

@Data
@ApiModel(value = "用户脱敏信息")
@JsonIgnoreProperties(ignoreUnknown = true)
public class SysUserVO {
    @ApiModelProperty(value = "用户ID",name = "id")
    Long id;

    @ApiModelProperty("用户部门")
    SysDeptVO sysDeptVO;

    @ApiModelProperty("用户账号")
    private String userName;

    @ApiModelProperty("用户昵称")
    private String nickName;

    @ApiModelProperty("用户手机号")
    String phoneNumber;

    /** 用户邮箱 & 用户登录账号 **/
    @ApiModelProperty("用户邮箱")
    String email;

    /**
     * 用户性别 可选 男 女 第三性别
     */
    @ApiModelProperty("用户性别")
    private String sex;

    /**
     * 用户头像地址 OSS
     */
    @ApiModelProperty("用户头像")
    private String avatar;

    /**
     * 账号状态 可选 0 正常！ 1 禁用
     */
    @ApiModelProperty("账号状态")
    private Integer status;


    @ApiModelProperty("用户角色")
    Set<SysRole> roles;

    @ApiModelProperty("用户权限")
    Set<String> permissions;
}
